home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / mail / vbstak12 / vbstak / initool.bas < prev    next >
Encoding:
BASIC Source File  |  1995-08-10  |  3.0 KB  |  79 lines

  1. ' Constants for the TSE TOOLS 1
  2. Global Const INI_INPUT_MODE = 0
  3. Global Const INI_OUTPUT_MODE = 1
  4.  
  5. 'Declarations for initialization files
  6. Declare Function GetPrivateProfileString% Lib "kernel" (ByVal lpAppName$, ByVal lpKeyName$, ByVal lpDefault$, ByVal lpReturnString$, ByVal nSize%, ByVal lpFileName$)
  7. Declare Function GetProfileInt% Lib "Kernel" (ByVal lpAppName$, ByVal lpKeyName$, ByVal nDefault%)
  8. Declare Function GetProfileString% Lib "Kernel" (ByVal lpAppName$, ByVal lpKeyName$, ByVal lpDefault$, ByVal lpReturnedString$, ByVal nSize%)
  9. Declare Function WriteProfileString% Lib "Kernel" (ByVal lpAppName$, ByVal lpKeyName$, ByVal lpString$)
  10. Declare Function GetPrivateProfileInt% Lib "Kernel" (ByVal lpAppName$, ByVal lpKeyName$, ByVal nDefault%, ByVal lpFileName$)
  11. Declare Function WritePrivateProfileString% Lib "Kernel" (ByVal lpAppName$, ByVal lpKeyName$, ByVal lpString$, ByVal lpFileName$)
  12.  
  13. Function GetIniField (lpApplicationName As String, lpKeyName As String, lpFileName As String) As String
  14. '
  15. ' Description: Return an value field within an ini aplication group
  16. ' Parameters: lpApplicationName - '[' bracketed application name to search for
  17. '             lpKeyName - parameter to locate
  18. '             lpFileName  - name of the .ini file to use
  19. ' Returns: field value string
  20. ' Side effects:
  21. ' Original: 01/21/94 - CHSM
  22. '
  23.   Dim plDefault As String, lpReturnString As String, Size As Integer, Valid As Integer
  24.     lpReturnString = Space$(128)
  25.     Size = Len(lpReturnString)
  26.     
  27.     ' Get the requested field
  28.     Valid = GetPrivateProfileString(lpApplicationName, lpKeyName, lpDefault, lpReturnString, Size, lpFileName)
  29.  
  30.     'If Valid = 0 Then
  31.     '  MsgBox ("Missing file or variable - " & lpFileName & "/" & lpApplicationName & "/" & lpKeyName)
  32.     'End If
  33.     '* Discard the trailing spaces and null character.
  34.     
  35.     ReturnValue = Left$(lpReturnString, Valid)
  36.  
  37. GetIniFieldExit:
  38.   GetIniField = ReturnValue
  39.   Exit Function
  40.  
  41. GetIniFieldError:
  42.   result = HandleError("Get .ini error ")
  43.   ReturnValue = ""
  44.   Resume GetIniFieldExit
  45.  
  46. End Function
  47.  
  48. Function HandleError (errorMessage As String)
  49. ' Default error handler
  50.   HandleError = MsgBox(errorMessage & Error, MB_ABORTRETRYIGNORE + MB_ICONSTOP)
  51. End Function
  52.  
  53. Sub SetIniField (lpApplicationName As String, lpKeyName As String, lpString As String, lpFileName As String)
  54. '
  55. ' Description: Write a field to an ini file within an ini group
  56. ' Parameters: fileName  - name of the file to use
  57. '             groupName - '[' bracketed group to search for
  58. '             fieldName - parameter to locate
  59. '             valueString - parameter setting
  60. ' Returns:
  61. ' Parameter: field value string
  62. ' Side effects:
  63. ' Original: 01/21/94 - CHSM
  64. '
  65.     Valid% = WritePrivateProfileString(lpApplicationName, lpKeyName, lpString, lpFileName)
  66.  
  67.   On Error GoTo SetIniFieldError
  68.   ' Input the file string
  69.  
  70. SetIniFieldExit:
  71.   Exit Sub
  72.  
  73. SetIniFieldError:
  74.   result = HandleError("Get .ini error ")
  75.   Resume SetIniFieldExit
  76.  
  77. End Sub
  78.  
  79.